传奇之家 - 传奇开区一条龙服务网站

当前位置:传奇之家 > 开区脚本 > > 详细页面

网站标题:???? 装备锻造 · 神兵合成系统

网站标题:???? 装备锻造 · 神兵合成系统

网站标题:???? 装备锻造 · 神兵合成系统

作者:传奇之家类别:开区脚本

更新:2026-10-29查看次数:163

功能说明:? 装备强化、升星、合成系统,支持普通→精良→史诗→传说→神器的进阶路线,含暴击锻造机制。

 

	
// 装备锻造系统
program EquipmentForge;
 
type
  TEquipment = record
    Name: string;
    Quality: Integer; // 1=普通 2=精良 3=史诗 4=传说 5=神器
    Star: Integer;    // 0-15星
    BaseAttack: Integer;
    BaseDefense: Integer;
    ForgeLevel: Integer; // 强化等级 0-20
  end;
 
const
  QUALITY_NAMES: array[1..5] of string = 
    ('普通', '精良', '史诗', '传说', '神器');
 
function GetQualityColor(Quality: Integer): string;
begin
  case Quality of
    1: Result := '?';
    2: Result := '????';
    3: Result := '????';
    4: Result := '????';
    5: Result := '????';
    else Result := '?';
  end;
end;
 
function GetTotalAttack(Equip: TEquipment): Integer;
var
  QualityBonus, StarBonus, ForgeBonus: Real;
begin
  QualityBonus := 1.0 + (Equip.Quality - 1) * 0.3;
  StarBonus := 1.0 + (Equip.Star * 0.08);
  ForgeBonus := 1.0 + (Equip.ForgeLevel * 0.05);
  Result := Round(Equip.BaseAttack * QualityBonus * StarBonus * ForgeBonus);
end;
 
procedure ShowEquipment(Equip: TEquipment);
begin
  Writeln('═════════════════════════════════');
  Writeln('  ', GetQualityColor(Equip.Quality), ' [', QUALITY_NAMES[Equip.Quality], '] ', Equip.Name);
  Writeln('  星级:', Equip.Star, '/15 ?');
  Writeln('  强化:+', Equip.ForgeLevel, '/20');
  Writeln('  基础攻击:', Equip.BaseAttack);
  Writeln('  基础防御:', Equip.BaseDefense);
  Writeln('  最终攻击:', GetTotalAttack(Equip));
  Writeln('═════════════════════════════════');
end;
 
procedure ForgeEquipment(var Equip: TEquipment);
var
  SuccessRate, Roll: Integer;
  CritForge: Boolean;
begin
  if Equip.ForgeLevel >= 20 then
  begin
    Writeln('? 已达最高强化等级!');
    Exit;
  end;
  
  // 成功率随等级下降
  SuccessRate := 100 - (Equip.ForgeLevel * 4);
  if SuccessRate < 10 then SuccessRate := 10;
  
  Roll := Random(100) + 1;
  
  Writeln('???? 正在强化 ', Equip.Name, ' +', Equip.ForgeLevel, ' → +', Equip.ForgeLevel + 1);
  Writeln('   成功率:', SuccessRate, '%');
  
  if Roll <= SuccessRate then
  begin
    Inc(Equip.ForgeLevel);
    
    // 暴击锻造判定 (5%概率)
    CritForge := (Random(100) + 1) <= 5;
    if CritForge then
    begin
      Inc(Equip.ForgeLevel);
      Writeln('   ???? 暴击锻造!直接提升2级!');
    end;
    
    Writeln('   ? 强化成功!当前 +', Equip.ForgeLevel);
  end
  else
  begin
    Writeln('   ? 强化失败!');
    if Equip.ForgeLevel >= 10 then
    begin
      Dec(Equip.ForgeLevel);
      Writeln('   ?? 等级下降!当前 +', Equip.ForgeLevel);
    end;
  end;
end;
 
procedure StarUpgrade(var Equip: TEquipment);
var
  SuccessRate, Roll: Integer;
begin
  if Equip.Star >= 15 then
  begin
    Writeln('? 已达最高星级!');
    Exit;
  end;
  
  SuccessRate := 80 - (Equip.Star * 4);
  if SuccessRate < 5 then SuccessRate := 5;
  
  Roll := Random(100) + 1;
  Writeln('? 升星 ', Equip.Name, ' ', Equip.Star, '星 → ', Equip.Star + 1, '星');
  Writeln('   成功率:', SuccessRate, '%');
  
  if Roll <= SuccessRate then
  begin
    Inc(Equip.Star);
    Writeln('   ? 升星成功!当前 ', Equip.Star, '星');
  end
  else
    Writeln('   ? 升星失败,星级不变');
end;
 
procedure QualityUpgrade(var Equip: TEquipment);
var
  Materials: array[1..3] of string;
  i: Integer;
begin
  if Equip.Quality >= 5 then
  begin
    Writeln('? 已是最高品质!');
    Exit;
  end;
  
  Materials[1] := '玄铁×10';
  Materials[2] := '灵魂宝石×5';
  Materials[3] := '金币×' + IntToStr(Equip.Quality * 500000);
  
  Writeln('???? 品质进阶:');
  Writeln('   当前:', QUALITY_NAMES[Equip.Quality]);
  Writeln('   目标:', QUALITY_NAMES[Equip.Quality + 1]);
  Writeln('   所需材料:');
  for i := 1 to 3 do
    Writeln('     - ', Materials[i]);
  
  // 进阶成功率
  if (Random(100) + 1) <= 60 then
  begin
    Inc(Equip.Quality);
    Writeln('   ? 进阶成功!品质提升至 ', QUALITY_NAMES[Equip.Quality]);
  end
  else
    Writeln('   ? 进阶失败,材料已消耗');
end;
 
var
  Weapon: TEquipment;
  i: Integer;
begin
  Randomize;
  
  // 初始化武器
  Weapon.Name := '屠龙刀';
  Weapon.Quality := 2;
  Weapon.Star := 0;
  Weapon.BaseAttack := 800;
  Weapon.BaseDefense := 100;
  Weapon.ForgeLevel := 0;
  
  Writeln('╔═════════════════════════════════╗');
  Writeln('║     装备锻造 · 神兵合成系统       ║');
  Writeln('╚═════════════════════════════════╝');
  Writeln('');
  
  ShowEquipment(Weapon);
  
  Writeln('');
  Writeln('--- 开始强化锻造 ---');
  for i := 1 to 5 do
  begin
    Writeln('');
    ForgeEquipment(Weapon);
    ShowEquipment(Weapon);
  end;
  
  Writeln('');
  Writeln('--- 升星系统 ---');
  StarUpgrade(Weapon);
  ShowEquipment(Weapon);
  
  Writeln('');
  Writeln('--- 品质进阶 ---');
  QualityUpgrade(Weapon);
  ShowEquipment(Weapon);
  
  Writeln('');
  Writeln('???? 最终装备状态:');
  ShowEquipment(Weapon);
end.